# Open CV Constants

#---------- cv.h ------------#
cdef extern from "cv.h":
    enum: CV_BLUR_NO_SCALE 
    enum: CV_BLUR  
    enum: CV_GAUSSIAN  
    enum: CV_MEDIAN 
    enum: CV_BILATERAL 
    
    enum: CV_INPAINT_NS      
    enum: CV_INPAINT_TELEA   
    
    enum: CV_SCHARR 
    enum: CV_MAX_SOBEL_KSIZE
    
    enum:  CV_BGR2BGRA 
    enum:  CV_RGB2RGBA 
    
    enum:  CV_BGRA2BGR 
    enum:  CV_RGBA2RGB 
    
    enum:  CV_BGR2RGBA 
    enum:  CV_RGB2BGRA 
    
    enum:  CV_RGBA2BGR  
    enum:  CV_BGRA2RGB 
    
    enum:  CV_BGR2RGB  
    enum:  CV_RGB2BGR 
    
    enum:  CV_BGRA2RGBA   
    enum:  CV_RGBA2BGRA 
    
    enum:  CV_BGR2GRAY 
    enum:  CV_RGB2GRAY 
    enum:  CV_GRAY2BGR 
    enum:  CV_GRAY2RGB 
    enum:  CV_GRAY2BGRA 
    enum:  CV_GRAY2RGBA  
    enum:  CV_BGRA2GRAY 
    enum:  CV_RGBA2GRAY 
    
    enum:  CV_BGR2BGR565 
    enum:  CV_RGB2BGR565 
    enum:  CV_BGR5652BGR 
    enum:  CV_BGR5652RGB  
    enum:  CV_BGRA2BGR565 
    enum:  CV_RGBA2BGR565 
    enum:  CV_BGR5652BGRA 
    enum:  CV_BGR5652RGBA 
    
    enum:  CV_GRAY2BGR565 
    enum:  CV_BGR5652GRAY 
    
    enum:  CV_BGR2BGR555 
    enum:  CV_RGB2BGR555 
    enum:  CV_BGR5552BGR 
    enum:  CV_BGR5552RGB  
    enum:  CV_BGRA2BGR555 
    enum:  CV_RGBA2BGR555 
    enum:  CV_BGR5552BGRA 
    enum:  CV_BGR5552RGBA 
    
    enum:  CV_GRAY2BGR555 
    enum:  CV_BGR5552GRAY 
    
    enum:  CV_BGR2XYZ     
    enum:  CV_RGB2XYZ     
    enum:  CV_XYZ2BGR     
    enum:  CV_XYZ2RGB     
    
    enum:  CV_BGR2YCrCb   
    enum:  CV_RGB2YCrCb   
    enum:  CV_YCrCb2BGR   
    enum:  CV_YCrCb2RGB   
    
    enum:  CV_BGR2HSV     
    enum:  CV_RGB2HSV     
    
    enum:  CV_BGR2Lab     
    enum:  CV_RGB2Lab     
    
    enum:  CV_BayerBG2BGR 
    enum:  CV_BayerGB2BGR 
    enum:  CV_BayerRG2BGR 
    enum:  CV_BayerGR2BGR 
    
    enum:  CV_BayerBG2RGB 
    enum:  CV_BayerGB2RGB 
    enum:  CV_BayerRG2RGB 
    enum:  CV_BayerGR2RGB 
    
    enum:  CV_BGR2Luv     
    enum:  CV_RGB2Luv     
    enum:  CV_BGR2HLS     
    enum:  CV_RGB2HLS     
    
    enum:  CV_HSV2BGR     
    enum:  CV_HSV2RGB     
    
    enum:  CV_Lab2BGR     
    enum:  CV_Lab2RGB     
    enum:  CV_Luv2BGR     
    enum:  CV_Luv2RGB     
    enum:  CV_HLS2BGR     
    enum:  CV_HLS2RGB     
    
    enum:  CV_COLORCVT_MAX  
    
    enum:  CV_INTER_NN        
    enum:  CV_INTER_LINEAR    
    enum:  CV_INTER_CUBIC     
    enum:  CV_INTER_AREA      
    
    enum:  CV_WARP_FILL_OUTLIERS 
    enum:  CV_WARP_INVERSE_MAP  

    enum:  CV_SHAPE_RECT      
    enum:  CV_SHAPE_CROSS     
    enum:  CV_SHAPE_ELLIPSE   
    enum:  CV_SHAPE_CUSTOM    
    
    enum: CV_MOP_OPEN        
    enum: CV_MOP_CLOSE        
    enum: CV_MOP_GRADIENT     
    enum: CV_MOP_TOPHAT       
    enum: CV_MOP_BLACKHAT     
    
    enum:  CV_TM_SQDIFF        
    enum:  CV_TM_SQDIFF_NORMED 
    enum:  CV_TM_CCORR         
    enum:  CV_TM_CCORR_NORMED  
    enum:  CV_TM_CCOEFF        
    enum:  CV_TM_CCOEFF_NORMED 
    
    enum:  CV_LKFLOW_PYR_A_READY       
    enum:  CV_LKFLOW_PYR_B_READY       
    enum:  CV_LKFLOW_INITIAL_GUESSES   
    enum:  CV_LKFLOW_GET_MIN_EIGENVALS 
    
    enum: CV_POLY_APPROX_DP 
    
    enum: CV_DOMINANT_IPAN 
    
    enum: CV_CONTOURS_MATCH_I1  
    enum: CV_CONTOURS_MATCH_I2  
    enum: CV_CONTOURS_MATCH_I3  
    
    enum:  CV_CONTOUR_TREES_MATCH_I1  
    
    enum: CV_CLOCKWISE         
    enum: CV_COUNTER_CLOCKWISE 
    
    enum: CV_COMP_CORREL        
    enum: CV_COMP_CHISQR        
    enum: CV_COMP_INTERSECT     
    enum: CV_COMP_BHATTACHARYYA 
    
    enum:  CV_VALUE  
    enum:  CV_ARRAY  
    
    enum: CV_DIST_MASK_3   
    enum: CV_DIST_MASK_5   
    enum: CV_DIST_MASK_PRECISE 
    
    enum: CV_THRESH_BINARY        
    enum: CV_THRESH_BINARY_INV    
    enum: CV_THRESH_TRUNC         
    enum: CV_THRESH_TOZERO        
    enum: CV_THRESH_TOZERO_INV    
    enum: CV_THRESH_MASK        
    
    enum: CV_THRESH_OTSU         
    
    enum: CV_ADAPTIVE_THRESH_MEAN_C  
    enum: CV_ADAPTIVE_THRESH_GAUSSIAN_C  
    
    enum: CV_HOUGH_STANDARD 
    enum: CV_HOUGH_PROBABILISTIC 
    enum: CV_HOUGH_MULTI_SCALE 
    enum: CV_HOUGH_GRADIENT 
    
    enum: CV_HAAR_DO_CANNY_PRUNING    
    enum: CV_HAAR_SCALE_IMAGE         
    enum: CV_HAAR_FIND_BIGGEST_OBJECT 
    enum: CV_HAAR_DO_ROUGH_SEARCH     
    
    enum: CV_LMEDS 
    enum: CV_RANSAC 
    
    enum: CV_CALIB_CB_ADAPTIVE_THRESH  
    enum: CV_CALIB_CB_NORMALIZE_IMAGE  
    enum: CV_CALIB_CB_FILTER_QUADS     
    
    enum: CV_CALIB_USE_INTRINSIC_GUESS  
    enum: CV_CALIB_FIX_ASPECT_RATIO     
    enum: CV_CALIB_FIX_PRINCIPAL_POINT  
    enum: CV_CALIB_ZERO_TANGENT_DIST    
    enum: CV_CALIB_FIX_FOCAL_LENGTH 
    enum: CV_CALIB_FIX_K1  
    enum: CV_CALIB_FIX_K2  
    enum: CV_CALIB_FIX_K3  
    
    enum: CV_CALIB_FIX_INTRINSIC  
    enum: CV_CALIB_SAME_FOCAL_LENGTH 
    
    enum: CV_CALIB_ZERO_DISPARITY 
    
    enum: CV_FM_7POINT 
    enum: CV_FM_8POINT 
    enum: CV_FM_LMEDS_ONLY  
    enum: CV_FM_RANSAC_ONLY 
    enum: CV_FM_LMEDS 
    enum: CV_FM_RANSAC 
    
    enum: CV_STEREO_BM_NORMALIZED_RESPONSE  
    
    enum: CV_STEREO_BM_BASIC 
    enum: CV_STEREO_BM_FISH_EYE 
    enum: CV_STEREO_BM_NARROW 
    
    enum: CV_STEREO_GC_OCCLUDED  


#---------- cxcore.h --------#
cdef extern from "cxcore.h":
    enum: CV_AUTOSTEP  
    
    enum: CV_MAX_ARR 
    
    enum: CV_NO_DEPTH_CHECK     
    enum: CV_NO_CN_CHECK        
    enum: CV_NO_SIZE_CHECK      
    
    enum: CV_CMP_EQ   
    enum: CV_CMP_GT   
    enum: CV_CMP_GE   
    enum: CV_CMP_LT   
    enum: CV_CMP_LE   
    enum: CV_CMP_NE   
    
    enum:  CV_CHECK_RANGE    
    enum:  CV_CHECK_QUIET    
    
    enum: CV_RAND_UNI      
    enum: CV_RAND_NORMAL   
    
    enum: CV_SORT_EVERY_ROW 
    enum: CV_SORT_EVERY_COLUMN 
    enum: CV_SORT_ASCENDING 
    enum: CV_SORT_DESCENDING 
    
    enum: CV_GEMM_A_T 
    enum: CV_GEMM_B_T 
    enum: CV_GEMM_C_T 
    
    enum: CV_SVD_MODIFY_A   
    enum: CV_SVD_U_T        
    enum: CV_SVD_V_T        
    
    enum: CV_LU  
    enum: CV_SVD 
    enum: CV_SVD_SYM 
    enum: CV_CHOLESKY 
    enum: CV_QR  
    enum: CV_NORMAL 
    
    enum: CV_COVAR_SCRAMBLED 
    enum: CV_COVAR_NORMAL    
    enum: CV_COVAR_USE_AVG   
    enum: CV_COVAR_SCALE     
    enum: CV_COVAR_ROWS      
    enum: CV_COVAR_COLS     
    
    enum: CV_PCA_DATA_AS_ROW 
    enum: CV_PCA_DATA_AS_COL 
    enum: CV_PCA_USE_AVG 
    
    enum: CV_C            
    enum: CV_L1           
    enum: CV_L2           
    enum: CV_NORM_MASK    
    enum: CV_RELATIVE     
    enum: CV_DIFF         
    enum: CV_MINMAX       
    
    enum: CV_DIFF_C       
    enum: CV_DIFF_L1      
    enum: CV_DIFF_L2      
    enum: CV_RELATIVE_C   
    enum: CV_RELATIVE_L1  
    enum: CV_RELATIVE_L2  
    
    enum: CV_REDUCE_SUM 
    enum: CV_REDUCE_AVG 
    enum: CV_REDUCE_MAX 
    enum: CV_REDUCE_MIN 
    
    enum: CV_DXT_FORWARD  
    enum: CV_DXT_INVERSE  
    enum: CV_DXT_SCALE    
    enum: CV_DXT_INV_SCALE 
    enum: CV_DXT_INVERSE_SCALE 
    enum: CV_DXT_ROWS     
    enum: CV_DXT_MUL_CONJ 
    
    enum: CV_FRONT 
    enum: CV_BACK 
    
    enum:  CV_GRAPH_VERTEX        
    enum:  CV_GRAPH_TREE_EDGE     
    enum:  CV_GRAPH_BACK_EDGE     
    enum:  CV_GRAPH_FORWARD_EDGE  
    enum:  CV_GRAPH_CROSS_EDGE    
    enum:  CV_GRAPH_ANY_EDGE      
    enum:  CV_GRAPH_NEW_TREE      
    enum:  CV_GRAPH_BACKTRACKING  
    enum:  CV_GRAPH_OVER          
    
    enum:  CV_GRAPH_ALL_ITEMS    
    
    enum: CV_FILLED 
    
    enum: CV_AA 
    
    enum: CV_FONT_HERSHEY_SIMPLEX         
    enum: CV_FONT_HERSHEY_PLAIN           
    enum: CV_FONT_HERSHEY_DUPLEX          
    enum: CV_FONT_HERSHEY_COMPLEX         
    enum: CV_FONT_HERSHEY_TRIPLEX         
    enum: CV_FONT_HERSHEY_COMPLEX_SMALL   
    enum: CV_FONT_HERSHEY_SCRIPT_SIMPLEX  
    enum: CV_FONT_HERSHEY_SCRIPT_COMPLEX  
    
    enum: CV_FONT_ITALIC                 
    
    enum: CV_FONT_VECTOR0    
    
    enum: CV_KMEANS_USE_INITIAL_LABELS    
    
    enum: CV_ErrModeLeaf       
    enum: CV_ErrModeParent      
    enum: CV_ErrModeSilent    


#---------- highgui.h -------#
cdef extern from "highgui.h":
    enum: CV_WINDOW_AUTOSIZE  
    
    enum: CV_EVENT_MOUSEMOVE      
    enum: CV_EVENT_LBUTTONDOWN    
    enum: CV_EVENT_RBUTTONDOWN    
    enum: CV_EVENT_MBUTTONDOWN    
    enum: CV_EVENT_LBUTTONUP      
    enum: CV_EVENT_RBUTTONUP      
    enum: CV_EVENT_MBUTTONUP      
    enum: CV_EVENT_LBUTTONDBLCLK  
    enum: CV_EVENT_RBUTTONDBLCLK  
    enum: CV_EVENT_MBUTTONDBLCLK  
    
    enum: CV_EVENT_FLAG_LBUTTON   
    enum: CV_EVENT_FLAG_RBUTTON   
    enum: CV_EVENT_FLAG_MBUTTON   
    enum: CV_EVENT_FLAG_CTRLKEY   
    enum: CV_EVENT_FLAG_SHIFTKEY  
    enum: CV_EVENT_FLAG_ALTKEY    
    
    
    enum: CV_LOAD_IMAGE_UNCHANGED  
    
    enum: CV_LOAD_IMAGE_GRAYSCALE   
    
    enum: CV_LOAD_IMAGE_COLOR       
    
    enum: CV_LOAD_IMAGE_ANYDEPTH    
    
    enum: CV_LOAD_IMAGE_ANYCOLOR    
    
    enum: CV_IMWRITE_JPEG_QUALITY 
    enum: CV_IMWRITE_PNG_COMPRESSION 
    enum: CV_IMWRITE_PXM_BINARY 
    
    enum: CV_CVTIMG_FLIP      
    enum: CV_CVTIMG_SWAP_RB   
    
    enum: CV_CAP_ANY     
    
    enum: CV_CAP_MIL      
    
    enum: CV_CAP_VFW      
    enum: CV_CAP_V4L      
    enum: CV_CAP_V4L2     
    
    enum: CV_CAP_FIREWARE 
    enum: CV_CAP_FIREWIRE 
    enum: CV_CAP_IEEE1394
    enum: CV_CAP_DC1394   
    enum: CV_CAP_CMU1394  
    
    enum: CV_CAP_STEREO  
    enum: CV_CAP_TYZX     
    enum: CV_TYZX_LEFT    
    enum: CV_TYZX_RIGHT   
    enum: CV_TYZX_COLOR   
    enum: CV_TYZX_Z       
    
    enum: CV_CAP_QT       
    
    enum: CV_CAP_UNICAP   
    
    enum: CV_CAP_DSHOW    
    
    enum: CV_CAP_PROP_POS_MSEC       
    enum: CV_CAP_PROP_POS_FRAMES     
    enum: CV_CAP_PROP_POS_AVI_RATIO  
    enum: CV_CAP_PROP_FRAME_WIDTH    
    enum: CV_CAP_PROP_FRAME_HEIGHT   
    enum: CV_CAP_PROP_FPS            
    enum: CV_CAP_PROP_FOURCC         
    enum: CV_CAP_PROP_FRAME_COUNT    
    enum: CV_CAP_PROP_FORMAT         
    enum: CV_CAP_PROP_MODE           
    enum: CV_CAP_PROP_BRIGHTNESS    
    enum: CV_CAP_PROP_CONTRAST      
    enum: CV_CAP_PROP_SATURATION    
    enum: CV_CAP_PROP_HUE           
    enum: CV_CAP_PROP_GAIN          
    enum: CV_CAP_PROP_EXPOSURE      
    enum: CV_CAP_PROP_CONVERT_RGB   
    enum: CV_CAP_PROP_WHITE_BALANCE 
    enum: CV_CAP_PROP_RECTIFICATION 


#---------- cxtypes.h -------#
cdef extern from "cxtypes.h":
    enum: IPL_DEPTH_SIGN 
    
    enum: IPL_DEPTH_1U     
    enum: IPL_DEPTH_8U     
    enum: IPL_DEPTH_16U   
    enum: IPL_DEPTH_32F   
    
    enum: IPL_DEPTH_8S  
    enum: IPL_DEPTH_16S 
    enum: IPL_DEPTH_32S 
    
    enum: IPL_DATA_ORDER_PIXEL  
    enum: IPL_DATA_ORDER_PLANE  
    
    enum: IPL_ORIGIN_TL 
    enum: IPL_ORIGIN_BL 
    
    enum: IPL_ALIGN_4BYTES   
    enum: IPL_ALIGN_8BYTES   
    enum: IPL_ALIGN_16BYTES 
    enum: IPL_ALIGN_32BYTES 
    
    enum: IPL_ALIGN_DWORD   
    enum: IPL_ALIGN_QWORD   
    
    enum: IPL_BORDER_CONSTANT   
    enum: IPL_BORDER_REPLICATE  
    enum: IPL_BORDER_REFLECT    
    enum: IPL_BORDER_WRAP       
    
    enum: IPL_IMAGE_HEADER 
    enum: IPL_IMAGE_DATA   
    enum: IPL_IMAGE_ROI    
    
    enum: IPL_BORDER_REFLECT_101    
    
    enum: IPL_DEPTH_64F  
    
    enum: CV_CN_MAX     
    enum: CV_CN_SHIFT   
    enum: CV_DEPTH_MAX  
    
    enum: CV_8U   
    enum: CV_8S   
    enum: CV_16U  
    enum: CV_16S  
    enum: CV_32S  
    enum: CV_32F  
    enum: CV_64F  
    enum: CV_USRTYPE1    
    
    enum: CV_8UC1 
    enum: CV_8UC2 
    enum: CV_8UC3 
    enum: CV_8UC4      
    
    enum: CV_8SC1 
    enum: CV_8SC2 
    enum: CV_8SC3 
    enum: CV_8SC4    
    
    enum: CV_16UC1 
    enum: CV_16UC2 
    enum: CV_16UC3 
    enum: CV_16UC4     
    
    enum: CV_16SC1 
    enum: CV_16SC2 
    enum: CV_16SC3 
    enum: CV_16SC4     
    
    enum: CV_32SC1 
    enum: CV_32SC2 
    enum: CV_32SC3 
    enum: CV_32SC4 
       
    enum: CV_32FC1 
    enum: CV_32FC2 
    enum: CV_32FC3 
    enum: CV_32FC4 
        
    enum: CV_64FC1 
    enum: CV_64FC2 
    enum: CV_64FC3 
    enum: CV_64FC4 
        
    enum: CV_AUTO_STEP  
        
    enum: CV_MAT_CN_MASK          
   
    enum: CV_MAT_DEPTH_MASK       
    
    enum: CV_MAT_TYPE_MASK        
    
    enum: CV_MAT_CONT_FLAG_SHIFT  
    enum: CV_MAT_CONT_FLAG        
    
    #enum: CV_IS_MAT_CONT <-there's a problem with these
    #enum: CV_IS_CONT_MAT          
    enum: CV_MAT_TEMP_FLAG_SHIFT  
    
    
    
    enum: CV_MAGIC_MASK       
    enum: CV_MAT_MAGIC_VAL    
    
    
    enum: CV_MATND_MAGIC_VAL    
    enum: CV_MAX_DIM            
    
    enum: CV_SPARSE_MAT_MAGIC_VAL    
    
    enum: CV_HIST_MAGIC_VAL    
    
    enum: CV_HIST_ARRAY         
    enum: CV_HIST_SPARSE        
    enum: CV_HIST_TREE          
    enum: CV_HIST_UNIFORM       
    
    enum: CV_TERMCRIT_ITER    
    enum: CV_TERMCRIT_NUMBER  
    enum: CV_TERMCRIT_EPS     
    
    enum: CV_WHOLE_SEQ_END_INDEX 
    
    enum: CV_STORAGE_MAGIC_VAL    
    
    enum: CV_STORAGE_READ          
    enum: CV_STORAGE_WRITE         
    enum: CV_STORAGE_WRITE_TEXT    
    enum: CV_STORAGE_WRITE_BINARY  
    enum: CV_STORAGE_APPEND        
    
    enum: CV_NODE_NONE        
    enum: CV_NODE_INT         
    enum: CV_NODE_INTEGER     
    enum: CV_NODE_REAL        
    enum: CV_NODE_FLOAT       
    enum: CV_NODE_STR         
    enum: CV_NODE_STRING      
    enum: CV_NODE_SEQ         
    enum: CV_NODE_MAP         
    enum: CV_NODE_TYPE_MASK   
    
    enum: CV_NODE_FLOW        
    enum: CV_NODE_USER       
    enum: CV_NODE_EMPTY       
    enum: CV_NODE_NAMED       
    
    enum: CV_NODE_SEQ_SIMPLE 


#---------- cvtypes.h -------#
cdef extern from "cvtypes.h":
    enum: CV_RETR_EXTERNAL 
    enum: CV_RETR_LIST     
    enum: CV_RETR_CCOMP    
    enum: CV_RETR_TREE     
    
    enum: CV_CHAIN_CODE               
    enum: CV_CHAIN_APPROX_NONE        
    enum: CV_CHAIN_APPROX_SIMPLE      
    enum: CV_CHAIN_APPROX_TC89_L1     
    enum: CV_CHAIN_APPROX_TC89_KCOS   
    enum: CV_LINK_RUNS                
    
    enum: CV_DIST_USER     
    enum: CV_DIST_L1         
    enum: CV_DIST_L2         
    enum: CV_DIST_C          
    enum: CV_DIST_L12        
    enum: CV_DIST_FAIR       
    enum: CV_DIST_WELSCH     
    enum: CV_DIST_HUBER   
    
    enum: CV_HAAR_MAGIC_VAL    
    enum: CV_TYPE_NAME_HAAR    
    
    enum: CV_HAAR_FEATURE_MAX  




